home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / aasmacros / aasms.doc < prev    next >
Text File  |  1993-01-21  |  46KB  |  1,153 lines

  1. % AASMS.STY -- AAS manuscript substyle definition for LaTeX.
  2.  
  3. % My convention for identifying configuration information is for styles
  4. % to define the five parameters below.
  5.  
  6. \def\revtex@ver{3.0}        % Version number of this file.
  7. \def\revtex@date{10 Jan 93}    % Revision date.
  8. \def\revtex@org{AAS}        % Sponsoring organization.
  9. \def\revtex@jnl{AAS}        % Applicable journal, if specific.
  10. \def\revtex@genre{manuscript}    % Document "type".
  11.  
  12. % Display identifying message on screen and in logfile.
  13.  
  14. \typeout{\revtex@org\space \revtex@genre\space substyle,
  15.     v\revtex@ver\space <\revtex@date>.}
  16.  
  17. % The following mini-colophon identifies the article are having been
  18. % prepared with this macro package.  The \revtex@pageid command only
  19. % defines the formatting of this colophon; its existence and placement
  20. % within the printed article is controlled by the use of this command
  21. % in the style file.
  22.  
  23. \def\revtex@pageid{\xdef\@thefnmark{\null}
  24.     \@footnotetext{This \revtex@genre\space was prepared with the
  25.            \revtex@org\space \LaTeX\ macros v\revtex@ver.}}
  26.  
  27. % Issue a warning if manuscripts are formatted with type smaller than 12pt.
  28.  
  29. \def\genre@MS{manuscript}
  30. \def\genre@PP{preprint}
  31. \ifx\revtex@genre\genre@MS
  32.   \ifnum\@ptsize<2
  33.     \typeout{Warning: Undersize \revtex@genre\space font (1\@ptsize\space pts).
  34.     Using 12pt documentstyle option.}
  35.     \@input{art12.sty}
  36.   \fi
  37. \fi
  38.  
  39. %  ****************************************
  40. %  *            PAGE LAYOUT               *
  41. %  ****************************************
  42.  
  43. % Create "plaintop" page style that has folios at top of page.
  44.  
  45. \def\ps@plaintop{\let\@mkboth\@gobbletwo
  46.     \def\@oddfoot{}\def\@oddhead{\rm\hfil--\space\thepage\space--\hfil}
  47.     \def\@evenfoot{}\let\@evenhead\@oddhead}
  48.  
  49. \ps@plaintop                         % Use "plaintop" pagestyle by default.
  50. \pretolerance=10000             % Disable hyphenation
  51.  
  52. % The following gives "reasonable" ragged right results.
  53.  
  54. \@rightskip=\z@ plus 4em\rightskip\@rightskip
  55.  
  56. % Page size, spacing parameters, etc.
  57.  
  58. \textwidth=6.5in
  59. \textheight=8.4in
  60. \topmargin=0in
  61. \headheight=.15in
  62. \headsep=.35in
  63. \oddsidemargin=0in
  64. \evensidemargin=0in
  65. \parindent=2em
  66. \parskip=1.5ex
  67.  
  68.  
  69. %\@input{styopts.sty}
  70.  
  71. %  ****************************************
  72. %  *           STYLE OPTIONS              *
  73. %  ****************************************
  74.  
  75. % Make footnotes same size as main text.
  76.  
  77. \let\footnotesize=\normalsize
  78.  
  79. % Define parameters to adjust the baselineskip.
  80. % These are passed as the scale factor argument to \baselinestretch.
  81.  
  82. \def\@tightleading{1.1}
  83. \def\@doubleleading{1.6}
  84.  
  85. % Double-space by default.  Observe that you double-space in LaTeX by
  86. % resetting \baselinestretch, which is essentially a scale factor for
  87. % \baselineskip (= leading, for you typographophiles).  The style uses
  88. % the \@doubleleading factor, defined above.
  89.  
  90. \def\baselinestretch{\@doubleleading}
  91.  
  92. % The \tighten command merely resets the \baselinestretch to a
  93. % smaller factor, resulting in single-column text that is more closely
  94. % spaced.  (This will always work.)  Tightening the vertical spacing
  95. % in the text results in output that is more attractive for distribution
  96. % to colleagues who are primarily interested in reading the paper, as
  97. % opposed to copy editing it.  Double-spaced output for referees and
  98. % copy editors is, however, the main objective of this style, hence
  99. % double-spacing occurs by default.  The same effect as \tighten
  100. % can be achieved by using the "tighten" document style option.
  101. %
  102. %    \tighten
  103. %
  104. % \tighten is intended for use in the preamble of the article.
  105.  
  106. \def\tighten{\def\baselinestretch{\@tightleading}}
  107. \let\tightenlines=\tighten
  108.  
  109. % For authors who feel compelled to change between single and double
  110. % spacing in the manuscript, \singlespace and \doublespace commands
  111. % are provided.  (Following recommendations of AAS Publications Board
  112. % Subcommittee on Preprints.)  These are no-ops in manuscript style.
  113. %
  114. %    \singlespace
  115. %    \doublespace
  116.  
  117. \let\singlespace=\relax
  118. \let\doublespace=\relax
  119.  
  120. % Upper case for sections (optional upper case items).  These are created
  121. % so that some headings can be toggled between mixed case and upper case
  122. % readily.  Headings that might be changed can be wrapped in the style
  123. % file in \sec@upcase{TEXT} constructs; the expansion of \sec@upcase is
  124. % controlled here.  It is `\relax' by default (mixed case heads), and can
  125. % easily be changed to `\uppercase' if desired.  If mixed case headings
  126. % are wanted by the editor, authors MUST supply mixed case text, although
  127. % this is what authors should be doing anyway.  (Mixed can be converted
  128. % to upper, but the reverse transformation cannot be automated.)
  129.  
  130. %\def\sec@upcase#1{\uppercase{#1}}
  131. \def\sec@upcase#1{\relax{#1}}
  132.  
  133. % Sometimes people want to number equations by section, rather than
  134. % sequentially through the whole paper.
  135.  
  136. \def\eqsecnum{
  137.     \@newctr{equation}[section]
  138.     \def\theequation{\hbox{\normalsize\arabic{section}-\arabic{equation}}}}
  139.  
  140. %\@input{slug.sty}
  141.  
  142. %  ****************************************
  143. %  *              SLUG LINE               *
  144. %  ****************************************
  145.  
  146. % There are some obvious style-dependent parameters and formatting
  147. % instructions in this file.  The object has been to keep the author
  148. % commands (the user interface, if you will) society, journal, and
  149. % style-independent, while the style-specific parameters and commands
  150. % are kept below that level.  Commands and parameters that are susceptible
  151. % to external interpretation, either by authors or publishers/translators,
  152. % are identified by indented comment lines, with the semantics of command
  153. % arguments described in upper case text.
  154. %
  155. %    \@journalname{JOURNAL NAME}
  156. %    \cpr@holder{COPYRIGHT HOLDER}
  157.  
  158. \def\@journalname{The Astropolitical Journal}
  159. \def\cpr@holder{American Astronomical Society}
  160.  
  161. % Journal and article identification information is established by the
  162. % editorial staff.  The following macros are used by personnel at the
  163. % editorial office to annotate/record slug-line data and should be included
  164. % in the manuscript preamble, i.e., before the LaTeX \begin{document}.  All
  165. % they do is globally define other TeX control sequences that are used by
  166. % other macros at a later time.
  167. %
  168. %    \received{RECEIPT DATE}
  169. %    \revised{REVISION DATE}
  170. %    \accepted{ACCEPTANCE DATE}
  171. %    \journalid{VOL}{JOURNAL DATE}
  172. %    \articleid{START PAGE}{END PAGE}
  173. %    \paperid{ID}
  174. %    \ccc{CODE}
  175. %
  176. % For preprints and submitted manuscripts in draft/referee format, etc.,
  177. % the slug-line information is irrelevant and in those kinds of style,
  178. % the data are never used.  In my estimation, it is perfectly acceptable
  179. % to have these commands in the file (for future use), so they are defined
  180. % in the usual way.
  181.  
  182. \def\received#1{\gdef\@recvdate{#1}} \received{\relax}
  183. \def\revised#1{\gdef\@revisedate{#1}} \revised{\relax}
  184. \def\accepted#1{\gdef\@accptdate{#1}} \accepted{\relax}
  185. \def\journalid#1#2{\gdef\@jourvol{#1}\gdef\@jourdate{#2}}
  186. \def\articleid#1#2{\gdef\@startpage{#1}\gdef\@finishpage{#2}}
  187. \def\paperid#1{\gdef\@paperid{#1}} \paperid{MS-0001-SAMP}
  188. \def\ccc#1{\gdef\CCC@code{#1}} \ccc{000-00\$75.95-CDB}
  189.  
  190. % Following copyright and running heads \defs are stubs.
  191. %\let\cpright=\@gobbletwo
  192. %\let\righthead=\@gobble
  193. %\let\lefthead=\@gobble
  194.  
  195. % Copyright data.  Permit the author/editor to supply a copyright
  196. % "type" as well as the year.
  197. %
  198. %    \cpright{TYPE}{YEAR}
  199. %
  200. % Copyright types are designated by name and converted to numeric form.
  201. % The mapping of types is defined by the code that sets the @cprtype
  202. % counter.  The language of the copyright notices is defined by \@slug.
  203.  
  204. \def\cpright#1#2{\@nameuse{cpr@#1} \gdef\cpr@year{#2}
  205.     \typeout{`#1' copyright \cpr@year.}}
  206.  
  207. \newcount\@cprtype \@cprtype=\@ne    % Default copyright type.
  208. \def\cpr@AAS{\@cprtype=1}
  209. \def\cpr@PD{\@cprtype=2}
  210. \def\cpr@Crown{\@cprtype=3}
  211. \def\cpr@none{\@cprtype=4}
  212. \def\cpr@ASP{\@cprtype=5}
  213.  
  214. \def\cpr@year{\number\year}        % Default copyright year.
  215.  
  216. % \@slug determines formatting of slugline information.
  217. % ATTN: Check with AAS/AIP/UCP about exact wording of these.
  218.  
  219. \def\@slug{\par\noindent
  220.     \ifcase\@cprtype
  221.     \relax
  222.     \or
  223.     Copyright \cpr@year\space by the \cpr@holder.
  224.     \or
  225.     This article is in the public domain.
  226.     \or
  227.     Crown copyright \cpr@year\space by the \cpr@holder.
  228.     \or
  229.     No copyright is claimed for this article.
  230.     \or
  231.     Copyright \cpr@year\space by the ASP.
  232.     \fi
  233.     \par\noindent
  234.     Manuscript number \@paperid.\par\noindent
  235.     \CCC@code
  236. }
  237.  
  238. % Authors may be asked to supply running head information.  We use the
  239. % language of the publisher here to distinguish between two pieces of
  240. % information: the left head frequently contains an author list (last
  241. % names, possibly truncated as et al.), while the right head frequently
  242. % contains an abbreviated form of the paper title.  The \lefthead and
  243. % \righthead commands merely collect the information and buffer the text.
  244. %
  245. %    \lefthead{TEXT}
  246. %    \righthead{TEXT}
  247. %
  248. % For the ApJ, right heads are the short titles, and the publisher would
  249. % like for the author to specify a 44-character or less abbreviated title
  250. % to use as the running head on right pages.
  251.  
  252. \def\lefthead#1{\gdef\@versohead{#1}} \lefthead{\relax}
  253. \def\righthead#1{\gdef\@rectohead{#1}} \righthead{\relax}
  254.  
  255. % \@runheads determines formatting of running head information.
  256.  
  257. \def\@runheads{\@tempcnta\c@page
  258.   \@whilenum \@tempcnta >0\do{
  259.     \vskip 3ex
  260.     \hbox to30pc{\small\expandafter\uppercase\expandafter{\@versohead}:
  261.     \expandafter\uppercase\expandafter{\@rectohead}\hfil}
  262.     \advance\@tempcnta by\m@ne}
  263. }
  264.  
  265. % The \slugcomment command is provided so authors or editors may include
  266. % a remark about the manuscript that may be desired in print for some
  267. % styles.  For instance, authors like to include information about the
  268. % journal and publication date of accepted papers ("To appear in AJ,
  269. % November 1992").
  270. %
  271. %    \slugcomment{TEXT}
  272. %
  273. % The formatting of the \slugcomment information is controlled by the
  274. % \@makeslugcmmnt command and its placement on the page is dictated
  275. % by the presence of \@makeslugcmmnt in \sluginfo (or whatever).
  276.  
  277. \def\slugcomment#1{\gdef\slug@comment{#1}} \slugcomment{}
  278.  
  279. % For MS style, slug comments are set in a parbox after the dates.
  280. % Short comments are centered.
  281.  
  282. \newdimen\@slugcmmntwidth \@slugcmmntwidth \textwidth
  283. \long\def\@makeslugcmmnt{\ifx\slug@comment\@empty\relax\else
  284.     \vskip 5ex
  285.     \setbox\@tempboxa\hbox{\slug@comment}
  286.     \ifdim \wd\@tempboxa >\@slugcmmntwidth
  287.         \hbox to\textwidth{\hss
  288.         \parbox\@slugcmmntwidth\slug@comment}
  289.     \else
  290.         \hbox to\textwidth{\hfil\box\@tempboxa\hfil}
  291.     \fi
  292. \fi}
  293.  
  294. % Editorial offices like to have receipt and acceptance dates on the front
  295. % page for tracking purposes.  The current practice is to require the author
  296. % to type Received __________________ and Accepted ________________ lines
  297. % for the staff to type on.  The \@dates command will typeset either rules
  298. % or the dates specified in \received and/or \accepted commands.  Note that
  299. % authors should not include \received and \accepted.
  300.  
  301. \def\@rcvaccrule{\vrule\@width1.75in\@height0.5pt\@depth\z@}
  302.  
  303. % \@dates determines formatting of MS date information.
  304.  
  305. \def\@dates{{Received}\space%
  306.     \if\@recvdate\relax\@rcvaccrule\else\@recvdate\fi;%
  307.     \hspace{1.5em}{accepted}\space%
  308.     \if\@accptdate\relax\@rcvaccrule\else\@accptdate\fi%
  309. }
  310.  
  311. % The \sluginfo command is executed automatically when a \begin{abstract} is
  312. % encountered, so it is not necessary (or appropriate) for the author to
  313. % include this line explicitly.  The received/accepted business is a
  314. % concern only for the editorial staff, hence we have arranged for the
  315. % author not to have to fuss with it.
  316.  
  317. \def\sluginfo{{\center
  318.     \@dates
  319.     \@makeslugcmmnt
  320.     %\@slug
  321.     %\@runheads
  322.     \endcenter}}
  323.  
  324. \let\dates=\sluginfo    % Backwards compatibility
  325.  
  326. %\@input{text.sty}
  327.  
  328. %  ****************************************
  329. %  *            FRONT MATTER              *
  330. %  ****************************************
  331.  
  332. % Make adjustments to LaTeX abstract style: optional upper case heading,
  333. % retain current type size (should be normalsize), ignore twocolumn option
  334. % in this substyle, add \sluginfo, and start abstract on fresh page.
  335.  
  336. \def\abstract{\sluginfo\clearpage
  337.     \begin{center}
  338.     {\bf{ABSTRACT}}
  339.     \end{center}
  340.     \quotation 
  341. }
  342.  
  343. % Title and author identification is by way of standard LaTeX commands
  344. % \title and \author, although the macros themselves are rather different.
  345. % The information is typeset by these macros in this style, rather than
  346. % being buffered as per regular LaTeX.  The authors' principal affiliation
  347. % is specified with a separate macro \affil.  Each \author command should
  348. % be followed by its own \affil (or address).
  349. %
  350. % Authors often have affiliations above and beyond their main employer,
  351. % and these are specified with the \altaffilmark and \altaffiltext commands.
  352. % These commands behave like the \footnotemark and \footnotetext commands
  353. % of LaTeX.  \altaffilmark is appended to author's names in the \author
  354. % lists, and generates the superscript identification numbers.
  355. % The text for the individual alternate affiliations is generated by the
  356. % \altaffiltext command.  It is up to the author to make sure that the
  357. % \altaffilmark numbers attached to authors' names correspond to the correct
  358. % alternate affiliation.
  359. %
  360. %     \title{LUCID TEXT}
  361. %     \author{NAME(S)}
  362. %     \authoraddr{AUTHOR'S POSTAL ADDRESS}
  363. %     \affil{AFFILIATION}
  364. %     \altaffilmark{TAG NUMBER(S)}
  365. %     \altaffiltext{NUMERICAL TAG}{TEXT}
  366. %
  367. % The typesetting performed by these commands is appropriate for the top of
  368. % the first text page of the manuscript.  They could as well be used on a
  369. % title cover page, but vertical placement would have to be controlled by
  370. % the author.   This is not to be encouraged, since I want to discourage
  371. % the introduction of any extra horizontal or vertical space.
  372.  
  373. \def\title#1{{\def\baselinestretch{\@tightleading}
  374.     \center\large\bf{#1}\endcenter}
  375.     \thispagestyle{empty}}
  376. \def\author#1{{\topsep\z@\center\normalsize#1\endcenter}}
  377. \let\authoraddr=\@gobble
  378. \def\affil#1{\vspace*{-2.5ex}{\topsep\z@\center#1\endcenter}}
  379. \def\altaffilmark#1{$^{#1}$}
  380. \def\altaffiltext#1#2{\footnotetext[#1]{#2}\stepcounter{footnote}}
  381.  
  382. % Redefine the LaTeX \and command for this style.
  383.  
  384. \def\and{\vspace*{-0.5ex}{\topsep\z@\center and\endcenter}}
  385.  
  386. %  ****************************************
  387. %  *             KEYWORDS                 *
  388. %  ****************************************
  389.  
  390. % Keywords environment.  Keywords, subject headings, etc., are accommodated
  391. % only as a piece of text; the \keywords command indents if necessary and
  392. % supplies the proper leading text ("Keywords:", "Subject headings:", etc.)
  393. % but does not apply formatting to the user's keyword text.  The author
  394. % must supply the correct punctuation according to the journal style.
  395. %
  396. % Note that the editors of A&A, ApJ, and MNRAS have discussed the issue
  397. % of keywords, and there is disagreement about whether "subject headings"
  398. % or "keywords" should appear after abstracts in astronomical papers.
  399. % It does not really matter what the macro is called, so I will stick
  400. % to \keywords since I don't know what the difference is anyway.
  401.  
  402. \def\@keywordtext{Subject headings}
  403. \def\@keyworddelim{---}
  404.  
  405. \def\keywords#1{\vspace*{-.7ex}%\vspace{\z@}
  406.     \if@twocolumn\noindent{{\it\@keywordtext:\/}\space\@kwds{#1}}
  407.     \else{\quote{\it\@keywordtext:\/}\space\@kwds{#1}\endquote}
  408.     \fi}
  409.  
  410. \let\subjectheadings=\keywords
  411.  
  412. % It might be possible to handle keywords and their punctuation more
  413. % automatically at some stage, but at the moment using this looping
  414. % construct is serious overkill.  It also causes problems because the
  415. % loop delimiter is a comma, and there are keywords that legitimately
  416. % contain commas.  It also seem ponderous to me for keywords in the
  417. % \keyword list to be delimited by `|', so I make the author responsible
  418. % for keyword list punctuation.
  419.  
  420. %\def\@kwds#1{\def\@kwddlm{}\@for\@kwd:=#1\do
  421. %      {\@kwddlm\def\@kwddlm{\space\@keyworddelim\penalty\@m\space}{\@kwd}}}
  422.  
  423. \def\@kwds#1{#1\relax}
  424.  
  425. %  ****************************************
  426. %  *             FOOTNOTES                *
  427. %  ****************************************
  428.  
  429. % The following code redefines a few things so that spacing in footnotes is
  430. % different than LaTeX defaults.  The adjustment to \skip\footins increases
  431. % the amount of vspace inserted before the \footnoterule.  Redefine
  432. % \@makefntext to get proper indentation.
  433.  
  434. \skip\footins 4ex plus 1ex minus .5ex
  435. \footnotesep 3ex
  436.  
  437. %\long\def\@makefntext#1{\noindent\hbox to\z@{\hss$^{\@thefnmark}$}#1}
  438. %\long\def\@makefntext#1{\indent\hbox{$^{\@thefnmark}$}#1}
  439.  
  440. %  ****************************************
  441. %  *             SECTIONS                 *
  442. %  ****************************************
  443.  
  444. % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
  445. %            optional * [ALTHEADING]{HEADING}
  446. %    Generic command to start a section.
  447. %    NAME       : e.g., 'subsection'
  448. %    LEVEL      : a number, denoting depth of section -- e.g., chapter=1,
  449. %                 section = 2, etc.
  450. %    INDENT     : Indentation of heading from left margin
  451. %    BEFORESKIP : Absolute value = skip to leave above the heading.
  452. %                 If negative, then paragraph indent of text following
  453. %                 heading is suppressed.
  454. %    AFTERSKIP  : if positive, then skip to leave below heading, else
  455. %                 negative of skip to leave to right of run-in heading.
  456. %    STYLE      : commands to set style
  457. %  If '*' missing, then increments the counter.  If it is present, then
  458. %  there should be no [ALTHEADING] argument.
  459.  
  460. % Adjust section heading typography slightly.  The manuscript editors
  461. % seem to like the idea that the heads will be centered, and that there
  462. % will be a "." trailing the section number.  This requires hacking below
  463. % the normal LaTeX programming interface (\@startsection), since the
  464. % centering has to be turned on and off again before the section starts.
  465. %
  466. % Also, modify the indentation behavior so that ALL paragraphs, including
  467. % those first after section heads, are indented.  This is consonant with
  468. % the styles of many journals, although it's non-standard typographic practice.
  469.  
  470. \newif\if@firstsection \@firstsectiontrue
  471.  
  472. \def\section{\if@firstsection\clearpage
  473.     \@firstsectionfalse\fi
  474.     \@startsection {section}{1}{\z@}
  475.     {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}}
  476. \def\subsection{\@startsection{subsection}{2}{\z@}
  477.     {5ex plus .5ex}{1ex plus .2ex}{\normalsize\bf}}
  478. \def\subsubsection{\@startsection{subsubsection}{3}{\z@}
  479.     {5ex plus .5ex}{1ex plus .2ex}{\normalsize\it}}
  480.  
  481. \def\thesection{\@arabic{\c@section}.}
  482. \def\thesubsection{\thesection\@arabic{\c@subsection}.}
  483. \def\thesubsubsection{\thesubsection\@arabic{\c@subsubsection}.}
  484. \def\theparagraph{\thesubsubsection\@arabic{\c@paragraph}:}
  485.  
  486. % For ApJ, acknowledgments are set off from main body text simply by
  487. % vertical space (no heading or type size change).  I do the same for
  488. % the AAS manuscript style.  For use in producing more polished output
  489. % for other journals, this macro might generate text saying
  490. % "Acknowledg[e]ments".
  491.  
  492. \def\acknowledgments{\vskip 3ex plus .8ex minus .4ex}
  493. \let\acknowledgements=\acknowledgments            % second spelling
  494.  
  495. % LaTeX sectioning tools.
  496.  
  497. \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
  498.      \def\@svsec{}\else
  499.      \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em }\fi
  500.      \@tempskipa #5\relax
  501.       \ifdim \@tempskipa>\z@
  502.         \begingroup \center#6\relax
  503.           \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M 
  504.       \sec@upcase{#8}\par}%
  505.         \endcenter\endgroup
  506.        \csname #1mark\endcsname{#7}\addcontentsline
  507.          {toc}{#1}{\ifnum #2>\c@secnumdepth \else
  508.                       \protect\numberline{\csname the#1\endcsname}\fi
  509.                     #7}\else
  510.         \def\@svsechd{#6\hskip #3\@svsec \sec@upcase{#8}\csname #1mark\endcsname
  511.                       {#7}\addcontentsline
  512.                            {toc}{#1}{\ifnum #2>\c@secnumdepth \else
  513.                              \protect\numberline{\csname the#1\endcsname}\fi
  514.                        #7}}\fi
  515.      \@xsect{#5}}
  516.  
  517. \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
  518.    \ifdim \@tempskipa>\z@
  519.      \begingroup #4\center\@hangfrom{\hskip #1}{\interlinepenalty \@M
  520.        \sec@upcase{#5}\par}\endcenter\endgroup
  521.    \else \def\@svsechd{#4\hskip #1\relax \sec@upcase{#5}}\fi
  522.     \@xsect{#3}}
  523.  
  524. %  ****************************************
  525. %  *          EQUATION NUMBERING          *
  526. %  ****************************************
  527.  
  528. % Redefine \appendix so that equation numbers are prepended with 
  529. % \theappendix number.  Reset equation counter so that equation
  530. % numbers in the appendix begin again with 1.  Note that the
  531. % \appendix command is NOT a sectioning command; it is merely
  532. % a delimiting markup between the main body of the paper and the
  533. % appendix.  Sections in the appendix are still started with
  534. % \section commands.
  535. %
  536. %    \appendix
  537.  
  538. \def\appendix{\par
  539.   \setcounter{section}{0}
  540.   \setcounter{subsection}{0}
  541.   \setcounter{equation}{0}
  542.   \def\thesection{\Alph{section}.}
  543.   \def\theequation{\hbox{\normalsize\Alph{section}\arabic{equation}}}}
  544.  
  545. % Define mathletters environment.  This is a wrapper that goes
  546. % *around* (outside of) equation or eqnarray environments.
  547. %
  548. %    \begin{mathletters}
  549. %    \end{mathletters}
  550.  
  551. \newcounter{cureqno}
  552.  
  553. \newenvironment{mathletters}{\refstepcounter{equation}%
  554.     \setcounter{cureqno}{\value{equation}}%
  555.     \let\@curtheeqn\theequation%
  556.     \edef\cur@eqn{\csname theequation\endcsname}%
  557.     \def\theequation{\cur@eqn\alph{equation}}%
  558.     \setcounter{equation}{0}}%
  559.     {\let\theequation\@curtheeqn%
  560.     \setcounter{equation}{\value{cureqno}}}
  561.  
  562. % The \eqnum command allows the author to override all automatic
  563. % equation marking schemes.
  564. %
  565. %    \eqnum{TEXT}
  566.  
  567. \def\eqnum#1{\def\theequation{#1}\let\@currentlabel\theequation
  568.     \addtocounter{equation}{\m@ne}}
  569.  
  570. %  ****************************************
  571. %  *          BIBLIOGRAPHY                *
  572. %  ****************************************
  573.  
  574. % Bibliography/references environment.  For the time being, I don't think
  575. % it would be a good idea to force an implementation based on BibTeX,
  576. % although I'll prepare for that eventuality by using the constructs and
  577. % general ideas of the LaTeX thebibliography environment.  Adjustments
  578. % have been made so that the \cite-\bibitem mechanism can be used to cite
  579. % references symbolically while maintaining proper citation syntax within
  580. % the paper; the author must create the citation label for each reference
  581. % in proper journal format in the \bibitem command.
  582. %
  583. %    \begin{thebibliography}
  584. %    \bibitem[LABEL]{TEXTTAG} \reference <bibliographic data>
  585. %    \end{thebibliography}
  586. %
  587. % where LABEL must adhere to the journal's standards, e.g. "Abt 1986".
  588. %
  589. % It is not necessary to use the thebibliography environment.  This style
  590. % defines a references environment that simply sets off the list of references
  591. % and adjusts spacing parameters.  It is not possible to use \bibitems
  592. % within the references environment.  (The \reference command cannot be
  593. % shortened to \ref; \ref is used in vanilla LaTeX for cross-referencing.)
  594. %
  595. %    \begin{references}
  596. %    \reference <bibliographic data>
  597. %    \end{references}
  598. %
  599. %    \markcite{TEXT}
  600. %
  601. % Observe that the bibliographic data supplied by the author must also
  602. % conform to the standards of the journal.  I have elected not to burden
  603. % authors with tedious LaTeX commands which would require many curly braces
  604. % to delimit the bibliographic fields because many of the journals I have
  605. % targeted in this project have agreed to reduce typographic overhead (bolding,
  606. % italicizing, etc.) in reference lists.  (See Abt's editorial in ApJ 357.)
  607. % It is the responsibility of the author to get these fields in the proper
  608. % order with the correct punctuation; the information will be typeset as is,
  609. % i.e., in roman with no size or style changes.
  610. %
  611. % Macros are provided for many of the oft-referenced journals so that authors
  612. % may use the LaTeX names rather than having to look up a particular journal's
  613. % specific abbreviation.  In principle, all the journals should be using the
  614. % same abbreviations, too, but I anticipate some changes in the specific
  615. % abbreviations before a set is finally settled on.  As long as these macros
  616. % are kept up to date, authors need not be concerned about such editorial
  617. % changes.
  618. %
  619. % Corresponding with the non-BibTeX references environment and \reference
  620. % command for the reference list is the \markcite command.  This can be
  621. % used to identify in-text citations; in this case, the author provides
  622. % the actual citation text as opposed to the symbolic tag.  The use of
  623. % this is encouraged, even for journals where no special formatting of
  624. % citation call-outs is required; it is crucial for the future use of
  625. % on-line browsers.
  626.  
  627. \def\references{\clearpage\subsection*{REFERENCES}
  628.     \bgroup\parindent=\z@\parskip=\itemsep
  629.     \def\refpar{\par\hangindent=3em\hangafter=1}}
  630. \def\endreferences{\refpar\egroup\revtex@pageid}
  631.  
  632. \def\thebibliography{\clearpage\subsection*{REFERENCES}
  633.     \list{\null}{\leftmargin 3em\labelwidth\z@\labelsep\z@\itemindent -3em
  634.     \usecounter{enumi}}
  635.     \def\refpar{\relax}
  636.     \def\newblock{\hskip .11em plus .33em minus .07em}
  637.     \sloppy\clubpenalty4000\widowpenalty4000
  638.     \sfcode`\.=1000\relax}
  639. \def\endthebibliography{\endlist\revtex@pageid}
  640.  
  641. \def\@biblabel#1{\relax}
  642. %\def\@cite#1#2{({#1\if@tempswa , #2\fi})}
  643. \def\@cite#1#2{#1\if@tempswa , #2\fi}
  644.  
  645. \def\reference{\relax\refpar}  % Generic: might be better...
  646. \def\markcite#1{#1\relax}
  647.  
  648. % Modify \@citex so that individual citation texts are NOT hboxed.
  649. % This allows TeX to break lines at spaces between words in citations.
  650. % Remove the obnoxious {\bf ?} that was inserted in the text when
  651. % undefined citations are encountered; here, the warning message is
  652. % printed only on the terminal.
  653.  
  654. \def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
  655.   \def\@citea{}\@cite{\@for\@citeb:=#2\do
  656.     {\@citea\def\@citea{,\penalty\@m\ }\@ifundefined
  657.        {b@\@citeb}{\@warning
  658.        {Citation `\@citeb' on page \thepage \space undefined}}%
  659. {\csname b@\@citeb\endcsname}}}{#1}}
  660.  
  661. %\@input{mstblfig.sty}
  662.  
  663. %  ****************************************
  664. %  *         TABLES AND FIGURES           *
  665. %  ****************************************
  666.  
  667. % Additions and adjustments for tables and figures.
  668.  
  669. % Footnotes for tables are to be identified with lower case alphabetics,
  670. % rather than numeric.  \tablenotemark and \tablenotetext commands are
  671. % provided analogous to \footnotemark and \footnotetext, but with the
  672. % identifier *required*, like \altaffilmark and \altaffiltext.  The
  673. % \tablenotetext must be specified before the \end{table}, since
  674. % \end{table} displays it.
  675. %
  676. %     \tablenotemark{TAG LETTER(S)}
  677. %     \tablenotetext{ALPHA TAG}{TEXT}
  678. %
  679. % Note that TAG LETTER == ALPHA TAG for corresponding text.  It is the
  680. % responsibility of the author to get the correspondence correct.
  681. %
  682. % The table footnotes are coupled to the table in which they occur, rather
  683. % than being associated with a particular page, and they are printed with
  684. % the table (relatively close to the caption) instead of appearing at the
  685. % extreme bottom of the page.  This is done to ensure that the notes wind
  686. % up on the same page as the table, since tables are floats and can migrate
  687. % from one page to another.  There is the additional benefit that the notes
  688. % are unambiguously attached to the proper table, which is what is required
  689. % in the event that the editorial requirement of one table only per page
  690. % is ever changed to permit several tables per page.
  691. %
  692. % Footnotes are NOT supported for figures.
  693.  
  694. \def\tablenotemark#1{\rlap{$^{\rm #1}$}}
  695.  
  696. % The \tablenotetext command buffers the table note text and the "proper"
  697. % tablenote formatting information in a token buffer.  The tablenotes are
  698. % dispensed into the vertical page list by \spew@tblnotes, which is
  699. % executed by \end{table}.  Note that certain "global" tablenote formatting
  700. % details are handled by \spew@tblnotes, which also clears the tblnote list.
  701. % Praise and honor are due to Kresten Krab Thorup (krab@iesd.auc.dk) for
  702. % posting ftn.sty to the Usenet, from which I drew the technique.
  703.  
  704. \newtoks\@temptokenb
  705. \def\tblnote@list{}
  706.  
  707. \def\tablenotetext#1#2{
  708.     \@temptokena={\vspace{.5ex}{\noindent\llap{$^{#1}$}#2}\par}
  709.     \@temptokenb=\expandafter{\tblnote@list}
  710.     \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
  711.  
  712. \def\spew@tblnotes{
  713.   \ifx\tblnote@list\@empty\relax
  714.   \else
  715.     \vspace{4.5ex}
  716.     \footnoterule
  717.     \vspace{.5ex}
  718.     {\footnotesize\tblnote@list}
  719.     \gdef\tblnote@list{}
  720.   \fi}
  721.  
  722. \def\endtable{\spew@tblnotes\end@float}
  723. \@namedef{endtable*}{\spew@tblnotes\end@dblfloat}
  724.  
  725. % Add a \tableline command for use in tabular environments.  This command
  726. % produces the horizontal rule(s) between the column headings and the body
  727. % of the table.  Authors are discouraged from using any \hlines themselves,
  728. % and are typically forbidden from using vertical rules by editors.
  729.  
  730. \let\tableline=\hline
  731.  
  732. % \@makecaption determines formatting for figure and table captions.  
  733. % For manuscripts, all captions should be set as flushleft paragraphs.
  734.  
  735. \long\def\@makecaption#1#2{\vskip 2ex\noindent #1 #2\par}
  736.  
  737. % The \tablenum command allows the author to override all automatic
  738. % table marking schemes.
  739. %
  740. %    \tablenum{TEXT}
  741.  
  742. \def\tablenum#1{\def\thetable{#1}\let\@currentlabel\thetable
  743.     \addtocounter{table}{\m@ne}}
  744.  
  745. % The \figurenum command allows the author to override all automatic
  746. % figure marking schemes.
  747. %
  748. %    \figurenum{TEXT}
  749.  
  750. \def\figurenum#1{\def\thefigure{#1}\let\@currentlabel\thefigure
  751.     \addtocounter{figure}{\m@ne}}
  752.  
  753. %  ****************************************
  754. %  *           PLANO TABLES               *
  755. %  ****************************************
  756.  
  757. % Plano tables are camera-ready pages that are included in a typeset
  758. % article the same way as line drawings, graphs, and other camera-ready
  759. % art, i.e., as "planographic" figures.  There are desirable properties
  760. % for a formatter to have that are somewhat above and beyond LaTeX'x
  761. % tabular environment that would facilitate the creation of such tables.
  762. % Among these are breaking long tables across pages, using footnotes
  763. % in a table, specifying comments and references for tables, etc.
  764. %
  765. % What follows was inspired by supertab.sty by Theo Jurriens, 1988.
  766.  
  767. % Commands for identifying table elements in a consistent way.  Observe
  768. % that the formatting is embedded in the macro definitions so that the
  769. % author doesn't need to be concerned about stylistic nuances.
  770. %
  771. %    \tablecaption{TEXT}
  772. %    \tablehead{TEXT}
  773. %    \colhead{HEADING}
  774. %    \tabletail{TEXT}
  775. %    \tablewidth{DIMEN}
  776. %    \tableheadfrac{NUM}
  777.  
  778. \newbox\pt@box
  779. \newdimen\pt@width
  780. \newcount\pt@line
  781. \newcount\pt@nlines
  782. \newcount\pt@ncol
  783.  
  784. \def\colhead#1{\omit\hidewidth{#1}\hidewidth\global\advance\pt@ncol by\@ne}
  785. \def\tablecaption#1{\gdef\pt@caption{#1}} \def\pt@caption{\relax}
  786. \def\tablehead#1{\gdef\pt@head{\hline\hline\relax\\[-1.7ex]
  787.     #1\hskip\tabcolsep\\[.7ex]\hline\relax\\[-1.5ex]}} \def\pt@head{\relax}
  788. \def\tabletail#1{\gdef\pt@tail{#1}} \def\pt@tail{\relax}
  789. \def\tablewidth#1{\pt@width=#1} \pt@width\textwidth
  790. \def\tableheadfrac#1{\gdef\pt@headfrac{#1}} \def\pt@headfrac{.1}
  791.  
  792. % Calculate the number of tabular rows that will fit in the body of the
  793. % table.  The height of the table body and the number of lines are
  794. % calculated thus:
  795. %
  796. %     bodyheight = \textheight * (1 - \pt@headfrac)
  797. %     \pt@nlines = bodyheight / (\arraystretch * \baselineskip)
  798. %
  799. % The row height can be seen to be valid algebraically if one examines the
  800. % definitions for \strutbox, \@setstrut, and \@array.  I could eliminate
  801. % this calculation, as well as its attendant parameters, if it were possible
  802. % to determine the accumulated height of the \halign box as TeX goes along.
  803.  
  804. \def\pt@calcnlines{\@tempdima\pt@headfrac\textheight
  805.     \@tempdimb\textheight\advance\@tempdimb by-\@tempdima
  806.     \@tempdima\arraystretch\baselineskip
  807.     \divide\@tempdimb by\@tempdima
  808.     \global\pt@nlines\@tempdimb}
  809.  
  810. % Define \pt@tabular, a ripoff of \@tabular but with \leavevmode removed
  811. % so tabular box can be set with \setbox.  I do this so that table notes
  812. % can be set to natural width of table, if desired.  Also, set \@acol
  813. % to \@ptabacol, which is called when building the preamble for the
  814. % \halign (assuming the first column format specification is "l", which
  815. % it should be for ApJ tables) so that \tabskip within the table is set
  816. % to \fill.  This permits us to toggle between natural and fixed-width
  817. % tables without requiring the user to change markup.  Note that by
  818. % forcing \tabskip always to be \fill, I pretty well nullify any
  819. % @{\hspace} commands the user puts in the template, but this environment
  820. % is for people who don't want to think about that sort of stuff anyway.
  821.  
  822. \def\pt@tabular{\hbox \bgroup $\let\@acol\@ptabacol 
  823.    \let\@classz\@tabclassz
  824.    \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray}
  825.  
  826. \def\@ptabacol{\edef\@preamble{\@preamble \hskip \tabcolsep\tabskip\fill}}
  827.  
  828. % Permit different identifying strings, one for the first page of the
  829. % table and one for continuation pages.  LaTeX's \fnum@table is set to
  830. % one or the other automatically in the environment.  Note that caption
  831. % handling is not so graceful: you have to edit inside the big macros to
  832. % adjust this.  Someday, I will be ambitious enough to fix this.
  833.  
  834. \def\fnum@ptable{Table \thetable}
  835. \def\fnum@ptablecont{Table \thetable---{\rm Continued}}
  836.  
  837. \def\set@mkcaption{\long\def\@makecaption##1##2{
  838.     \center\rm##1.\quad##2\endcenter\vskip 2.5ex}}
  839. \def\set@mkcaptioncont{\long\def\@makecaption##1##2{
  840.     \center\rm##1\endcenter\vskip 2.5ex}}
  841.  
  842. \newenvironment{planotable}[1]{\def\pt@format{\string#1}%
  843.     \set@tblnotetext\pt@ncol=0}%
  844.     {\crcr\noalign{\vskip .7ex}\hline\endtabular%
  845.     \pt@width\wd\pt@box\box\pt@box\spew@ptblnotes%
  846.     \typeout{Table \thetable\space has been set to width \the\pt@width}%
  847.     \endcenter\end@float}
  848.  
  849. \def\startdata{\pt@line=0\pt@calcnlines%
  850.     \ifdim\pt@width>\z@\def\@halignto{to \pt@width}\else\def\@halignto{}\fi%
  851.     \let\fnum@table=\fnum@ptable\set@mkcaption%
  852.     \@float{table}\center\caption{\pt@caption}\leavevmode%
  853.     \setbox\pt@box=\pt@tabular{\pt@format}\pt@head}
  854.  
  855. % A kludgey kind of line delimiter is needed so that the line counter
  856. % can be checked prior to adding the line to the alignment box.  This
  857. % is bad because this form does not permit the addition of vertical
  858. % space using the [.5ex] construct; this has to be done with an explicit
  859. % \vskip.  And a disgusting \noalign is required, so I have to create
  860. % another silly piece of markup to accomplish this conveniently.
  861. %
  862. % What is desired, of course, is for this line count checking to take
  863. % place within the syntax of the regular LaTeX \\ command.  I have been
  864. % giving myself apoplexy trying to figure this out for the last 36 hours,
  865. % and I have decided I will have to wait for the onset of my "lucid
  866. % period" for a solution.  In the meantime...
  867.  
  868. \def\pt@nl{\global\advance\pt@line by\@ne%
  869.   \ifnum\pt@line=\pt@nlines%
  870.     \endtabular\box\pt@box
  871.     \endcenter\end@float\clearpage%
  872.     \addtocounter{table}{\m@ne}%
  873.     \let\fnum@table=\fnum@ptablecont\set@mkcaptioncont%
  874.     \@float{table}\center\caption{\pt@caption}\leavevmode%
  875.     \global\pt@ncol=0%
  876.     \setbox\pt@box=\pt@tabular{\pt@format}\pt@head%
  877.     \global\pt@line=0%
  878.   \else\\
  879.   \fi}
  880.  
  881. % Author markup commands for planotable environment line breaks.
  882. %
  883. %    \nl == \nextline
  884. %    \tablevspace{DIMEN}
  885. %    \tablebreak
  886.  
  887. \let\nl=\pt@nl
  888. \let\nextline=\pt@nl
  889.  
  890. \def\tablevspace#1{\noalign{\vskip{#1}}}
  891. \def\tablebreak{\pt@line\pt@nlines\advance\pt@line by\m@ne\pt@nl}
  892.  
  893. % We have some specialty heads that are sometimes wanted in tables.
  894. %
  895. %    \cutinhead{TEXT}
  896. %    \sidehead{TEXT}
  897.  
  898. \def\cutinhead#1{\noalign{\vskip 1.5ex}
  899.     \hline\pt@nl\noalign{\vskip -4ex}
  900.     \multicolumn{\pt@ncol}{c}{#1}\pt@nl
  901.     \noalign{\vskip .8ex}
  902.     \hline\pt@nl\noalign{\vskip -2ex}}
  903.  
  904. \def\sidehead#1{\noalign{\vskip 1.5ex}
  905.     \multicolumn{\pt@ncol}{@{\hskip\z@}l}{#1}\pt@nl
  906.     \noalign{\vskip .5ex}}
  907.  
  908. \def\set@tblnotetext{\def\tablenotetext##1##2{{%
  909.     \@temptokena={\vspace{0ex}{%
  910.     \parbox{\pt@width}{\hskip1em$^{\rm ##1}$##2}\par}}%
  911.     \@temptokenb=\expandafter{\tblnote@list}
  912.     \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}}}
  913.  
  914. \def\spew@ptblnotes{
  915.   \ifx\tblnote@list\@empty\relax
  916.   \else
  917.     \par
  918.     \vspace{2ex}
  919.     {\tblnote@list}
  920.     \gdef\tblnote@list{}
  921.   \fi}
  922.  
  923. % Special kinds of table footnotes.  Sometimes authors tabulate things
  924. % which have corresponding references, and it may be desirable to associate
  925. % these references with the table rather than (or in addition to) the
  926. % formal reference list.  Occasionally, authors wish to append a short
  927. % paragraph of explanatory notes that pertain to the entire table, but
  928. % which are different than the caption.
  929. %
  930. %    \tablerefs{REFERENCE LIST}
  931. %    \tablecomments{TEXT}
  932.  
  933. \def\tablerefs#1{\@temptokena={\vspace*{3ex}{%
  934.     \parbox{\pt@width}{\hskip1em\rm References. --- #1}\par}}%
  935.     \@temptokenb=\expandafter{\tblnote@list}
  936.     \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
  937.  
  938. \def\tablecomments#1{\@temptokena={\vspace*{3ex}{%
  939.     \parbox{\pt@width}{\hskip1em\rm Note. --- #1}\par}}%
  940.     \@temptokenb=\expandafter{\tblnote@list}
  941.     \xdef\tblnote@list{\the\@temptokenb\the\@temptokena}}
  942.  
  943. % Figure and table style parameters.
  944.  
  945. \def\thefigure{\@arabic\c@figure}
  946. \def\fnum@figure{{\rm Fig.\space\thefigure.---}}
  947.  
  948. \def\thetable{\@arabic\c@table}
  949. \def\fnum@table{{\rm Table \thetable:}}
  950.  
  951. % Figure and table float positions.
  952.  
  953. \def\fps@figure{bp}
  954. \def\fps@table{bp}
  955.  
  956. %  ****************************************
  957. %  *           EPS INCLUSIONS             *
  958. %  ****************************************
  959.  
  960. % Include Rokicki's epsf.sty file explicitly.
  961.  
  962. \@ifundefined{epsfbox}{\@input{epsf.sty}}{\relax}
  963.  
  964. % Simplified EPS inclusion macros so we can see how this goes...
  965. % These are layered on Rokicki's dvips material, and are dependent
  966. % on the author's use of that DVI driver.
  967. %
  968. %    \plotone{EPSFILE}
  969. %    \plottwo{EPSFILE}{EPSFILE}
  970. %    \plotfiddle{EPSFILE}{VSIZE}{ROT}{HSF}{VSF}{HTRANS}{VTRANS}
  971. %
  972. % \plotone inserts the plot in a space that is \columnwidth wide; the
  973. % plot is scaled so the horizontal dimension fits in the text width,
  974. % and the vertical dimension is scaled to maintain the aspect ratio.
  975. % \plottwo inserts two plots next to each other in one \columnwidth,
  976. % sort of like "two-up" mode.
  977. %
  978. %    EPSFILE    name of file with EPS
  979. %
  980. % The following arguments are for the \plotfiddle macro which formats
  981. % the \special itself, prepares vspace, etc.  This completely bypasses
  982. % Rokicki's macros that attempt to rationalize the EPS BoundingBox with
  983. % the LaTeX page dimensions.
  984. %
  985. %    VSIZE      vertical white space to allow for plot
  986. %    ROT        rotation angle
  987. %    HSF        horiz scale factor
  988. %    VSF        vert scale factor
  989. %    HTRANS     horiz translation
  990. %    VTRANS     vert translation
  991.  
  992. %\epsfverbosetrue
  993.  
  994. \def\plotone#1{\centering \leavevmode
  995.     \epsfxsize=\columnwidth \epsfbox{#1}}
  996.  
  997. \def\plottwo#1#2{\centering \leavevmode
  998.     \epsfxsize=.45\columnwidth \epsfbox{#1} \hfil
  999.     \epsfxsize=.45\columnwidth \epsfbox{#2}}
  1000.  
  1001. \def\plotfiddle#1#2#3#4#5#6#7{\centering \leavevmode
  1002.     \vbox to#2{\rule{0pt}{#2}}
  1003.     \special{psfile=#1 voffset=#7 hoffset=#6 vscale=#5 hscale=#4 angle=#3}}
  1004.  
  1005. %\@input{abbrevs.sty}
  1006.  
  1007. %  ****************************************
  1008. %  *            ABBREVIATIONS             *
  1009. %  ****************************************
  1010.  
  1011. % Abbreviations for journals.  The object here is to provide authors
  1012. % with convenient shorthands for the most "popular" (often-cited)
  1013. % journals; the author can use these markup tags without being concerned
  1014. % about the exact form of the journal abbreviation, or its formatting.
  1015. % It is up to the keeper of the macros to make sure the macros expand
  1016. % to the proper text.  If macro package writers agree to all use the
  1017. % same TeX command name, authors only have to remember one thing, and
  1018. % the style file will take care of editorial preferences.  This also
  1019. % applies when a single journal decides to revamp its abbreviating
  1020. % scheme, as happened with the ApJ (Abt 1991).
  1021.  
  1022. \let\jnl@style=\rm
  1023. \def\ref@jnl#1{{\jnl@style#1}}
  1024.  
  1025. \def\aj{\ref@jnl{AJ}}            % Astronomical Journal
  1026. \def\araa{\ref@jnl{ARA\&A}}        % Annual Review of Astron and Astrophys
  1027. \def\apj{\ref@jnl{ApJ}}            % Astrophysical Journal
  1028. \def\apjl{\ref@jnl{ApJ}}        % Astrophysical Journal, Letters
  1029. \def\apjs{\ref@jnl{ApJS}}        % Astrophysical Journal, Supplement
  1030. \def\ao{\ref@jnl{Appl.Optics}}        % Applied Optics
  1031. \def\apss{\ref@jnl{Ap\&SS}}        % Astrophysics and Space Science
  1032. \def\aap{\ref@jnl{A\&A}}        % Astronomy and Astrophysics
  1033. \def\aapr{\ref@jnl{A\&A~Rev.}}        % Astronomy and Astrophysics Reviews
  1034. \def\aaps{\ref@jnl{A\&AS}}        % Astronomy and Astrophysics, Supplement
  1035. \def\azh{\ref@jnl{AZh}}            % Astronomicheskii Zhurnal
  1036. \def\baas{\ref@jnl{BAAS}}        % Bulletin of the AAS
  1037. \def\jrasc{\ref@jnl{JRASC}}        % Journal of the RAS of Canada
  1038. \def\memras{\ref@jnl{MmRAS}}        % Memoirs of the RAS
  1039. \def\mnras{\ref@jnl{MNRAS}}        % Monthly Notices of the RAS
  1040. \def\pra{\ref@jnl{Phys.Rev.A}}        % Physical Review A: General Physics
  1041. \def\prb{\ref@jnl{Phys.Rev.B}}        % Physical Review B: Solid State
  1042. \def\prc{\ref@jnl{Phys.Rev.C}}        % Physical Review C
  1043. \def\prd{\ref@jnl{Phys.Rev.D}}        % Physical Review D
  1044. \def\prl{\ref@jnl{Phys.Rev.Lett}}    % Physical Review Letters
  1045. \def\pasp{\ref@jnl{PASP}}        % Publications of the ASP
  1046. \def\pasj{\ref@jnl{PASJ}}        % Publications of the ASJ
  1047. \def\qjras{\ref@jnl{QJRAS}}        % Quarterly Journal of the RAS
  1048. \def\skytel{\ref@jnl{S\&T}}        % Sky and Telescope
  1049. \def\solphys{\ref@jnl{Solar~Phys.}}    % Solar Physics
  1050. \def\sovast{\ref@jnl{Soviet~Ast.}}    % Soviet Astronomy
  1051. \def\ssr{\ref@jnl{Space~Sci.Rev.}}    % Space Science Reviews
  1052. \def\zap{\ref@jnl{ZAp}}            % Zeitschrift fuer Astrophysik
  1053.  
  1054. \let\astap=\aap
  1055. \let\apjlett=\apjl
  1056. \let\apjsupp=\apjs
  1057.  
  1058. %\@input{misc.sty}
  1059.  
  1060. %  ****************************************
  1061. %  *            MISCELLANEOUS             *
  1062. %  ****************************************
  1063.  
  1064. % Handy little things everybody works out for themselves anyway.  Many
  1065. % of these come from Springer's A&A package, and some were contributed
  1066. % by Francois Schweizer at DTM.  You can go berserk making these up,
  1067. % especially when you start getting into the composite ones.  We have
  1068. % tried to select a tractable number that were useful, and somewhat
  1069. % difficult to get right because fussy kerning or some such is required.
  1070. % Most can be used in or out of math mode with impunity; \alt and \agt
  1071. % are relations and can only be used in math mode.
  1072.  
  1073. \def\deg{\hbox{$^\circ$}}
  1074. \def\sun{\hbox{$\odot$}}
  1075. \def\earth{\hbox{$\oplus$}}
  1076. \def\lesssim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$<$}}}}
  1077. \def\gtrsim{\mathrel{\hbox{\rlap{\hbox{\lower4pt\hbox{$\sim$}}}\hbox{$>$}}}}
  1078. \def\sq{\hbox{\rlap{$\sqcap$}$\sqcup$}}
  1079. \def\arcmin{\hbox{$^\prime$}}
  1080. \def\arcsec{\hbox{$^{\prime\prime}$}}
  1081. \def\fd{\hbox{$.\!\!^{\rm d}$}}
  1082. \def\fh{\hbox{$.\!\!^{\rm h}$}}
  1083. \def\fm{\hbox{$.\!\!^{\rm m}$}}
  1084. \def\fs{\hbox{$.\!\!^{\rm s}$}}
  1085. \def\fdg{\hbox{$.\!\!^\circ$}}
  1086. \def\farcm{\hbox{$.\mkern-4mu^\prime$}}
  1087. \def\farcs{\hbox{$.\!\!^{\prime\prime}$}}
  1088. \def\fp{\hbox{$.\!\!^{\scriptscriptstyle\rm p}$}}
  1089. \def\micron{\hbox{$\mu$m}}
  1090.  
  1091. \let\la=\lesssim            % For Springer A&A compliance...
  1092. \let\ga=\gtrsim
  1093.  
  1094. % Permit author to typeset "case" fractions.  This is sometimes
  1095. % wanted in displayed equations, during which LaTeX will set fractions
  1096. % specified as \frac{x}{y} as "built-up" fractions (numerator and
  1097. % denominator at body text size).
  1098.  
  1099. \def\case#1#2{\hbox{$\frac{#1}{#2}$}}
  1100.  
  1101. % Permit author to typeset fractions set with solidus where the size
  1102. % is reduced and the numerals are oriented diagonally.  Note that this
  1103. % is different from a "shilled" fraction, which the author can produce
  1104. % without any special formatting markup.  Define markup shorthands for
  1105. % several common fractions using solidus.
  1106.  
  1107. \def\slantfrac#1#2{\hbox{$\,^#1\!/_#2$}}
  1108. \def\onehalf{\slantfrac{1}{2}}
  1109. \def\onethird{\slantfrac{1}{3}}
  1110. \def\twothirds{\slantfrac{2}{3}}
  1111. \def\onequarter{\slantfrac{1}{4}}
  1112. \def\threequarters{\slantfrac{3}{4}}
  1113.  
  1114. \def\ubvr{\hbox{$U\!BV\!R$}}        % UBVR system
  1115. \def\ub{\hbox{$U\!-\!B$}}        % U-B
  1116. \def\bv{\hbox{$B\!-\!V$}}        % B-V
  1117. \def\vr{\hbox{$V\!-\!R$}}        % V-R
  1118. \def\ur{\hbox{$U\!-\!R$}}        % U-R
  1119.  
  1120. % Notation for atomic species (ionization levels).  The ionization state
  1121. % is specified as the second argument, and should be given as a numeral.
  1122. % The macro has to expand the numeric state into the proper notation for
  1123. % the publication (roman, numeric, plus signs, etc.)
  1124. %
  1125. %    \ion{ELEMENT}{IONIZATION STATE}
  1126.  
  1127. \def\ion#1#2{#1$\;${\small\rm\@Roman{#2}}\relax}
  1128.  
  1129. % Centered ellipsis for use in tables (for unknown values).  \nodata
  1130. % is generalized markup for this notion: format of null-valued entries
  1131. % in tables is style-specific.
  1132.  
  1133. %\def\cellipsis{\hfill$\cdots$\hfill}
  1134. \def\nodata{\multicolumn{1}{c}{$\cdots$}}
  1135.  
  1136. % This is a generalization of the \LaTeX definition that comes in LaTeX.
  1137. % The change here ensures that LaTeX will be typeset in the current style,
  1138. % rather than always in roman.
  1139.  
  1140. \newcount\lecurrentfam
  1141. \def\LaTeX{\lecurrentfam=\the\fam \leavevmode L\raise.42ex
  1142.         \hbox{$\fam\lecurrentfam\scriptstyle\kern-.3em A$}\kern-.15em\TeX}
  1143.  
  1144. %  ****************************************
  1145. %  *              DEBUGGING               *
  1146. %  ****************************************
  1147.  
  1148. \def\sizrpt{
  1149.     (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
  1150.     \typeout{
  1151.     (\fontname\the\font): em=\the\fontdimen6\font, ex=\the\fontdimen5\font
  1152. }}
  1153.